// user模型
// 引入sequelize模型
let Sequelize=require('sequelize');

//定义模型对象
let Model=Sequelize.Model;

//Uers模型继承Model
class User extends Model{};

// 创建User数据表结构
User.init({
  // 表id
  id:{
    // 定义表结构
    // 数据类型      整型     无符号
    type:Sequelize.INTEGER.UNSIGNED,
    allowNull:false,    // 不能为空
    primaryKey:true,    // 主键类型
    autoIncrement:true,  // 自动递增
    comment:'表id'       // 备注
  },
  // 用户id
  userId:{
    type:Sequelize.STRING(30),
    allowNull:false,
    defaultValue:'',    //默认值
    comment:'用户id'
  },
  nickname:{
    type:Sequelize.STRING(30),
    allowNull:false,
    defaultValue:'',    //默认值
    comment:'昵称'
  },
  // 邮箱
  email:{
    type:Sequelize.STRING(50),
    allowNull:false,
    defaultValue:'',    //默认值
    comment:'邮箱'
  },
  // 密码
  password:{
    type:Sequelize.STRING(32),
    allowNull:false,
    defaultValue:'',    //默认值
    comment:'密码'
  },
  // 用户头像
  url:{
    type:Sequelize.STRING(100),
    allowNull:false,
    defaultValue:'http://localhost:3000/default.png',
    comment:'用户头像'
  }
},{
  // 配置项
  modelName:'user',   //外键
  timestamps:true,    //时间戳
  paranoid:true,      //逻辑删除
  underscored:true,   //自动修改_命名法
  freezeTableName:true,  //冻结表名
  sequelize:globalThis.Sequelize
})
User.sync({force:false})  //如果表存在不创建新表
// 导出模型
module.exports=User;